package com.hd.sup.modules.alarm.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.hd.sup.modules.alarm.model.AlarmRecord;
import com.hd.sup.modules.alarm.model.AlarmReport;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 报警报告表 服务类
 * </p>
 *
 * @author chentl123
 * @since 2020-12-28
 */
public interface IAlarmReportService extends IService<AlarmReport> {

    /**
     * @return java.util.List<java.util.Map < java.lang.String, java.lang.Object>>
     * @author chentl
     * @description 分析报告分页列表
     * @date 2021/3/2 1:56 下午
     * @params [page, alarmReport]
     */
    List<Map<String, Object>> pageList(Page<Map<String, Object>> page, AlarmReport alarmReport);

    /**
     * @return java.util.Map<java.lang.String, java.lang.Object>
     * @author chentl
     * @description 生成分析报告数据
     * @date 2021/3/1 4:52 下午
     * @params [alarmReport]
     */
    Map<String, Object> generateReportJson(AlarmReport alarmReport);

    /**
     * @return void
     * @author chentl
     * @description 填充分析报告数据
     * @date 2021/3/2 9:13 上午
     * @params [alarmReport]
     */
    void fillReportData(String id);

    /**
     * @return void
     * @author chentl
     * @description 更新分析报告数据
     * @date 2021/3/2 9:49 上午
     * @params [id, reportJson]
     */
    void updateReportData(String id, String reportJson);

    /**
     * @return void
     * @author chentl
     * @description 生成分析报告基础数据
     * @date 2021/3/1 5:01 下午
     * @params [alarmReport]
     */
    String generateBaseReportData(AlarmReport alarmReport);

}
